Operating systems may manage name space providers (NSPs) for a client application. Windows Sockets, in Microsoft Windows may be an example. Name space providers may provide an interface for interacting with a particular name space, such as a domain name system (DNS). Existing Winsock systems may require that third party name space providers provide an in-process component to interact with a Winsock component, such as a Winsock dynamic link library (DLL). This in-process dependency may present problems during runtime when third party components fail. For example, a failure of a third party component may cause a name service process and an associated client application to fail along with it.
Additionally, existing Winsock systems may not provide an efficient and client-friendly process for querying multiple NSPs and/or multiple namespaces for resolving a name space query. For example, an existing Winsock implementation may require a client application to manage a sequence of Begin, Next, End calls which, while providing a basic and universal method of NSP access, does not make client application programming efficient for querying multiple providers or name spaces. Also, existing Winsock systems may require synchronous communication with an NSP, which further hinders a client application from managing a plurality of NSP queries as well as limiting the client application's own processing capacity by requiring it to wait for Winsock calls to complete before performing any other processes.
Further, existing Winsock implementations may not provide an extensibility mechanism for NSPs to use. Thus, for example, when an NSP has additional information that it may provide, but may not be anticipated in an existing Winsock specification, existing Winsock implementations may not be able to propagate the information to a client application. This information may enable a client application to implement further functionality.
Still further, existing systems may only enable name resolution functions, which, e.g., allow for resolving name space queries, but do not allow for publication.